// 日期格式化：date为Date对象，format为'yyyy-MM-dd'
export function formatDate(date, format) {
  // 第一步：强制校验是否为有效Date对象
  if (!(date instanceof Date) || isNaN(date.getTime())) {
    console.warn('传入的日期不是有效Date对象，返回空字符串', date);
    return ''; // 无效值直接返回空，避免报错
  }

  // 第二步：正常格式化逻辑（原有代码保留）
  const o = {
    'M+': date.getMonth() + 1, // 月份（0-11 → 1-12）
    'd+': date.getDate(),      // 日（1-31）
    'y+': date.getFullYear(),  // 年（4位）
    // 若需要时分秒，可补充：
    // 'h+': date.getHours(),
    // 'm+': date.getMinutes(),
    // 's+': date.getSeconds()
  };

  // 替换格式中的占位符（如 yyyy-MM-dd）
  for (const k in o) {
    if (new RegExp(`(${k})`).test(format)) {
      // 不足2位补0（如 5 → 05）
      const value = o[k] < 10 ? `0${o[k]}` : o[k];
      format = format.replace(RegExp.$1, value);
    }
  }

  return format;
}

// 日期加天数：date为Date对象，days为天数
export const addDays = (date, days) => {
  const newDate = new Date(date);
  newDate.setDate(newDate.getDate() + days);
  return newDate;
};